package com.ibeetl.cms.entity;

import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.entity.BaseEntity;
import com.ibeetl.admin.core.util.ValidateConfig;
import org.beetl.sql.core.annotatoin.*;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 购房补贴
 * @author  likai
 * @date 2018/11/23
 */
public class BuyHouseSubsidies extends BaseEntity{

    //Id
    @NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
    @SeqID(name = ORACLE_CORE_SEQ_NAME)
    @AutoID	

    private Integer id ;
	
    //姓名
    @NotNull

    private String name ;
	
    //性别
    @NotNull

    private String sex ;
	
    //出生日期
    @NotNull

    private Date birthday ;
	
    //民族
    @NotNull

    private String nation ;
	
    //政治面貌
    @NotNull

    private String politicalOutlook ;
	
    //婚姻状况
    @NotNull

    private String maritalStatus ;
	
    //国籍
    @NotNull

    private String nativePlace ;
	
    //电子邮件
    @NotNull

    private String mailBox ;
	
    //联系电话
    @NotNull

    private String contactNumber ;
	
    //手机号码
    @NotNull

    private String phoneNumber ;
	
    //证件类别
    @NotNull

    private String idType ;
	
    //证件号码
    @NotNull

    private String identificationNumber ;

	
    //开户银行
    @NotNull

    private String accountOpeningBank ;
	
    //银行卡号
    @NotNull

    private String bankCardNumber ;
	
    //毕业院校
    @NotNull

    private String graduateSchool ;
	
    //专业
    @NotNull

    private String major ;
	
    //学历
    @NotNull

    private String education ;
	
    //学位
    @NotNull

    private String academicDegree ;
	
    //现工作企业
    @NotNull

    private String currentWorkingEnterprise ;
	
    //职位
    @NotNull

    private String position ;
	
    //删除标识
	/*逻辑删除标志*/
	@InsertIgnore
	@LogicDelete(value = 1)

    private Integer delFlag ;
	
    //用户id

    private Integer userId ;
	
    //主要成就

    private String majorAchievements ;
	
    //身份证件

    private String idfile ;
	
    //企业id
    @UpdateIgnore
    private Integer companyId;
	
    //年度
    @NotNull
    private String year ;
	
    //统一社会信用代码
    @UpdateIgnore
    private String organizationCode ;
	
    //创建日期

    @UpdateIgnore
    private Date creationDate ;
	
    //业务状态

    private String businessState ;
	
    //业务状态code值

    private String businessStateCode ;
	
    //申报时间

    private Date declareTime ;
	
    //申报人
    @UpdateIgnore
    private String declareUserName ;
	
    //申报人id
    @UpdateIgnore
    private Integer declareUserId ;
	
    //处理意见

    private String handlingSuggestion ;

    @NotNull
    //申报补贴年次
    @Dict(type="declareYear")
    private String declareYear ;
	
    //补贴金额
    @NotNull

    private BigDecimal declareMoney ;

    @NotNull

    //是否首次购房
    @Dict(type="firstBuyHouse")
    private String firstBuyHouse ;

    //身份证材料
    private String fileIdCard ;

    //房产证原件扫描件
    @NotNull
    private String roomType;


    @NotNull
    //预告商品房预告登陆时间
    private Date advanceLandingTime;

    //处理人

    private String processUserName ;

    //处理人id

    private Integer processUserId ;

    //复审人名

    private String reviewUserName ;

    //复审人id

    private Integer reviewUserId ;

    //上报日期

    private Date dateReporting ;

    //审核结果
    private String processResult ;

    @NotNull
    private String cardScore;

    @NotNull
    private Date cardStartDate;

    @NotNull
    private Date cardEndDate;

    /**
    企业申报时间
     */
    private Date companyDeclareTime;

    //特殊情况说明
    private String specialInstructions;

    @NotNull

    private String socialCreditCode;
    @NotNull

    private String externalTaskId;
    private String invokeStatus;

    public String getSocialCreditCode() {
        return socialCreditCode;
    }

    public void setSocialCreditCode(String socialCreditCode) {
        this.socialCreditCode = socialCreditCode;
    }

    public String getExternalTaskId() {
        return externalTaskId;
    }

    public void setExternalTaskId(String externalTaskId) {
        this.externalTaskId = externalTaskId;
    }

    public String getInvokeStatus() {
        return invokeStatus;
    }

    public void setInvokeStatus(String invokeStatus) {
        this.invokeStatus = invokeStatus;
    }

    /**
     * 特殊字段
     * @return
     */
    public String getSpecialInstructions() {
        return specialInstructions;
    }

    /**
     * 特殊字段
     */
    public void setSpecialInstructions(String specialInstructions) {
        this.specialInstructions = specialInstructions;
    }


    public BuyHouseSubsidies()
    {
    }

    public String getBusinessStateCode() {
        return businessStateCode;
    }

    public void setBusinessStateCode(String businessStateCode) {
        this.businessStateCode = businessStateCode;
    }

    public Date getAdvanceLandingTime() {
        return advanceLandingTime;
    }

    public void setAdvanceLandingTime(Date advanceLandingTime) {
        this.advanceLandingTime = advanceLandingTime;
    }

    /**Id
    *@return 
    */
    public Integer getId(){
	    return  id;
    }
    /**Id
    *@param  id
    */
    public void setId(Integer id){
        this.id = id;
    }

    /**姓名
    *@return 
    */
    public String getName(){
	    return  name;
    }
    /**姓名
    *@param  name
    */
    public void setName(String name){
        this.name = name;
    }

    /**性别
    *@return 
    */
    public String getSex(){
	    return  sex;
    }
    /**性别
    *@param  sex
    */
    public void setSex(String sex){
        this.sex = sex;
    }

    /**出生日期
    *@return 
    */
    public Date getBirthday(){
	    return  birthday;
    }
    /**出生日期
    *@param  birthday
    */
    public void setBirthday(Date birthday){
        this.birthday = birthday;
    }

    /**民族
    *@return 
    */
    public String getNation(){
	    return  nation;
    }
    /**民族
    *@param  nation
    */
    public void setNation(String nation){
        this.nation = nation;
    }

    /**政治面貌
    *@return 
    */
    public String getPoliticalOutlook(){
	    return  politicalOutlook;
    }
    /**政治面貌
    *@param  politicalOutlook
    */
    public void setPoliticalOutlook(String politicalOutlook){
        this.politicalOutlook = politicalOutlook;
    }

    /**婚姻状况
    *@return 
    */
    public String getMaritalStatus(){
	    return  maritalStatus;
    }
    /**婚姻状况
    *@param  maritalStatus
    */
    public void setMaritalStatus(String maritalStatus){
        this.maritalStatus = maritalStatus;
    }

    /**国籍
    *@return 
    */
    public String getNativePlace(){
	    return  nativePlace;
    }
    /**国籍
    *@param  nativePlace
    */
    public void setNativePlace(String nativePlace){
        this.nativePlace = nativePlace;
    }

    /**电子邮件
    *@return 
    */
    public String getMailBox(){
	    return  mailBox;
    }
    /**电子邮件
    *@param  mailBox
    */
    public void setMailBox(String mailBox){
        this.mailBox = mailBox;
    }

    /**联系电话
    *@return 
    */
    public String getContactNumber(){
	    return  contactNumber;
    }
    /**联系电话
    *@param  contactNumber
    */
    public void setContactNumber(String contactNumber){
        this.contactNumber = contactNumber;
    }

    /**手机号码
    *@return 
    */
    public String getPhoneNumber(){
	    return  phoneNumber;
    }
    /**手机号码
    *@param  phoneNumber
    */
    public void setPhoneNumber(String phoneNumber){
        this.phoneNumber = phoneNumber;
    }

    /**证件类别
    *@return 
    */
    public String getIdType(){
	    return  idType;
    }
    /**证件类别
    *@param  idType
    */
    public void setIdType(String idType){
        this.idType = idType;
    }

    /**证件号码
    *@return 
    */
    public String getIdentificationNumber(){
	    return  identificationNumber;
    }
    /**证件号码
    *@param  identificationNumber
    */
    public void setIdentificationNumber(String identificationNumber){
        this.identificationNumber = identificationNumber;
    }

    /**开户银行
    *@return 
    */
    public String getAccountOpeningBank(){
	    return  accountOpeningBank;
    }
    /**开户银行
    *@param  accountOpeningBank
    */
    public void setAccountOpeningBank(String accountOpeningBank){
        this.accountOpeningBank = accountOpeningBank;
    }

    /**银行卡号
    *@return 
    */
    public String getBankCardNumber(){
	    return  bankCardNumber;
    }
    /**银行卡号
    *@param  bankCardNumber
    */
    public void setBankCardNumber(String bankCardNumber){
        this.bankCardNumber = bankCardNumber;
    }

    /**毕业院校
    *@return 
    */
    public String getGraduateSchool(){
	    return  graduateSchool;
    }
    /**毕业院校
    *@param  graduateSchool
    */
    public void setGraduateSchool(String graduateSchool){
        this.graduateSchool = graduateSchool;
    }

    /**专业
    *@return 
    */
    public String getMajor(){
	    return  major;
    }
    /**专业
    *@param  major
    */
    public void setMajor(String major){
        this.major = major;
    }

    /**学历
    *@return 
    */
    public String getEducation(){
	    return  education;
    }
    /**学历
    *@param  education
    */
    public void setEducation(String education){
        this.education = education;
    }

    /**学位
    *@return 
    */
    public String getAcademicDegree(){
	    return  academicDegree;
    }
    /**学位
    *@param  academicDegree
    */
    public void setAcademicDegree(String academicDegree){
        this.academicDegree = academicDegree;
    }

    /**现工作企业
    *@return 
    */
    public String getCurrentWorkingEnterprise(){
	    return  currentWorkingEnterprise;
    }
    /**现工作企业
    *@param  currentWorkingEnterprise
    */
    public void setCurrentWorkingEnterprise(String currentWorkingEnterprise){
        this.currentWorkingEnterprise = currentWorkingEnterprise;
    }

    /**职位
    *@return 
    */
    public String getPosition(){
	    return  position;
    }
    /**职位
    *@param  position
    */
    public void setPosition(String position){
        this.position = position;
    }

    /**删除标识
    *@return 
    */
    public Integer getDelFlag(){
	    return  delFlag;
    }
    /**删除标识
    *@param  delFlag
    */
    public void setDelFlag(Integer delFlag){
        this.delFlag = delFlag;
    }

    /**用户id
    *@return 
    */
    public Integer getUserId(){
	    return  userId;
    }
    /**用户id
    *@param  userId
    */
    public void setUserId(Integer userId){
        this.userId = userId;
    }

    /**主要成就
    *@return 
    */
    public String getMajorAchievements(){
	    return  majorAchievements;
    }
    /**主要成就
    *@param  majorAchievements
    */
    public void setMajorAchievements(String majorAchievements){
        this.majorAchievements = majorAchievements;
    }

    /**身份证件
    *@return 
    */
    public String getIdfile(){
	    return  idfile;
    }
    /**身份证件
    *@param  idfile
    */
    public void setIdfile(String idfile){
        this.idfile = idfile;
    }

    /**企业id
    *@return 
    */
    public Integer getCompanyId(){
	    return companyId;
    }
    /**企业id
    *@param  companyId
    */
    public void setCompanyId(Integer companyId){
        this.companyId = companyId;
    }

    /**年度
    *@return 
    */
    public String getYear(){
	    return  year;
    }
    /**年度
    *@param  year
    */
    public void setYear(String year){
        this.year = year;
    }

    /**统一社会信用代码
    *@return 
    */
    public String getOrganizationCode(){
	    return  organizationCode;
    }
    /**统一社会信用代码
    *@param  organizationCode
    */
    public void setOrganizationCode(String organizationCode){
        this.organizationCode = organizationCode;
    }

    /**创建日期
    *@return 
    */
    public Date getCreationDate(){
	    return  creationDate;
    }
    /**创建日期
    *@param  creationDate
    */
    public void setCreationDate(Date creationDate){
        this.creationDate = creationDate;
    }

    /**业务状态
    *@return 
    */
    public String getBusinessState(){
	    return  businessState;
    }
    /**业务状态
    *@param  businessState
    */
    public void setBusinessState(String businessState){
        this.businessState = businessState;
    }

    /**申报时间
    *@return 
    */
    public Date getDeclareTime(){
	    return  declareTime;
    }
    /**申报时间
    *@param  declareTime
    */
    public void setDeclareTime(Date declareTime){
        this.declareTime = declareTime;
    }

    /**申报人
    *@return 
    */
    public String getDeclareUserName(){
	    return  declareUserName;
    }
    /**申报人
    *@param  declareUserName
    */
    public void setDeclareUserName(String declareUserName){
        this.declareUserName = declareUserName;
    }

    /**申报人id
    *@return 
    */
    public Integer getDeclareUserId(){
	    return  declareUserId;
    }
    /**申报人id
    *@param  declareUserId
    */
    public void setDeclareUserId(Integer declareUserId){
        this.declareUserId = declareUserId;
    }

    /**处理意见
    *@return 
    */
    public String getHandlingSuggestion(){
	    return  handlingSuggestion;
    }
    /**处理意见
    *@param  handlingSuggestion
    */
    public void setHandlingSuggestion(String handlingSuggestion){
        this.handlingSuggestion = handlingSuggestion;
    }

    /**申报补贴年次
    *@return 
    */
    public String getDeclareYear(){
	    return  declareYear;
    }
    /**申报补贴年次
    *@param  declareYear
    */
    public void setDeclareYear(String declareYear){
        this.declareYear = declareYear;
    }

    /**补贴金额
    *@return 
    */
    public BigDecimal getDeclareMoney(){
	    return  declareMoney;
    }
    /**补贴金额
    *@param  declareMoney
    */
    public void setDeclareMoney(BigDecimal declareMoney){
        this.declareMoney = declareMoney;
    }

    /**是否首次购房
    *@return 
    */
    public String getFirstBuyHouse(){
	    return  firstBuyHouse;
    }
    /**是否首次购房
    *@param  firstBuyHouse
    */
    public void setFirstBuyHouse(String firstBuyHouse){
        this.firstBuyHouse = firstBuyHouse;
    }


    public String getFileIdCard() {
        return fileIdCard;
    }

    public void setFileIdCard(String fileIdCard) {
        this.fileIdCard = fileIdCard;
    }

    public String getProcessUserName() {
        return processUserName;
    }

    public void setProcessUserName(String processUserName) {
        this.processUserName = processUserName;
    }

    public Integer getProcessUserId() {
        return processUserId;
    }

    public void setProcessUserId(Integer processUserId) {
        this.processUserId = processUserId;
    }

    public String getReviewUserName() {
        return reviewUserName;
    }

    public void setReviewUserName(String reviewUserName) {
        this.reviewUserName = reviewUserName;
    }

    public Integer getReviewUserId() {
        return reviewUserId;
    }

    public void setReviewUserId(Integer reviewUserId) {
        this.reviewUserId = reviewUserId;
    }

    public Date getDateReporting() {
        return dateReporting;
    }

    public void setDateReporting(Date dateReporting) {
        this.dateReporting = dateReporting;
    }

    public String getProcessResult() {
        return processResult;
    }

    public void setProcessResult(String processResult) {
        this.processResult = processResult;
    }


    public Date getCardStartDate() {
        return cardStartDate;
    }

    public void setCardStartDate(Date cardStartDate) {
        this.cardStartDate = cardStartDate;
    }

    public Date getCardEndDate() {
        return cardEndDate;
    }

    public void setCardEndDate(Date cardEndDate) {
        this.cardEndDate = cardEndDate;
    }

    public String getCardScore() {
        return cardScore;
    }

    public void setCardScore(String cardScore) {
        this.cardScore = cardScore;
    }

    public Date getCompanyDeclareTime() {
        return companyDeclareTime;
    }

    public void setCompanyDeclareTime(Date companyDeclareTime) {
        this.companyDeclareTime = companyDeclareTime;
    }

    public String getRoomType() {
        return roomType;
    }

    public void setRoomType(String roomType) {
        this.roomType = roomType;
    }
}
